cmake_minimum_required(VERSION 3.28)
project(data_structure C)

set(CMAKE_C_STANDARD 11)

include_directories(./
        ${CMAKE_SOURCE_DIR}/header/linkedlist
        ${CMAKE_SOURCE_DIR}/header/queue
        ${CMAKE_SOURCE_DIR}/header/sort
        ${CMAKE_SOURCE_DIR}/header/sqlist
        ${CMAKE_SOURCE_DIR}/header/stack
        ${CMAKE_SOURCE_DIR}/header/string
        ${CMAKE_SOURCE_DIR}/header
        ${CMAKE_SOURCE_DIR}
        ${CMAKE_SOURCE_DIR}/header/other
        ${CMAKE_SOURCE_DIR}/test
        ${CMAKE_SOURCE_DIR}/mm

)

add_executable(data_structure ds-main.c
        header/sqlist/SeqList.h
        header/sqlist/SeqList.c
        header/linkedlist/linkedlist.h
        header/linkedlist/linkedlist.c
        header/common.h
        header/linkedlist/staticlist.h
        header/linkedlist/staticlist.c
        header/linkedlist/sclinkedlist.h
        header/option_config.h
        header/option_config.c
        header/linkedlist/sclinkedlist.c
        header/linkedlist/DLinkedList.h
        header/linkedlist/DLinkedList.c
        header/linkedlist/DCLinkedList.h
        header/linkedlist/DCLinkedList.c
        header/stack/SeqStack.h
        header/stack/SeqStack.c
        header/stack/LinkStack.h
        header/stack/LinkStack.c
        header/queue/SeqQueue.h
        header/queue/SeqQueue.c
        header/queue/LinkQueue.h
        header/queue/LinkQueue.c
        header/queue/RQueue.h
        header/queue/RQueue.c
        header/string/SString.h
        header/string/SString.c
        header/string/HString.h
        header/string/HString.c
        header/sort/Sort.h
        header/sort/Sort.c
        header/other/kalman.c
        test/cprocess.c

)
